Image processing apparatus and image processing method

ABSTRACT

An image processing apparatus generates image data for projection by applying a deformation process to obtained image data based on an input parameter related to the deformation process. The image processing apparatus prohibits execution of the deformation process if it is determined that a magnification related to the deformation process based on the input parameter with respect to the obtained image data is out of a predetermined range.

This application is a continuation of pending application Ser. No.14/329,097 filed Jul. 11, 2014, which has been allowed.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an image processing apparatus and animage processing method.

Description of the Related Art

An image deformation process is often necessary in a video processingapparatus. For example, an image deformation process called a keystone(trapezoid) correction process is executed for a projector product.Specifically, when output light of a projector is projected on a screen,a trapezoidal distortion occurs in an effective region projected on thescreen, due to an installation angle of the projector, an optical lensshift, or the like. It is hard for the user to see an image with thetrapezoidal distortion. Therefore, a process is executed, wherein theeffective region is deformed to an inverted trapezoidal shape, and theimage is deformed so that the effective region projected on the screenforms a rectangular shape. The image deformation process is generallyknown as a keystone (trapezoid) correction process.

A frame memory in a size that can hold an input image is generally usedin a method of executing the image deformation process. Specifically,there are a method of deforming the image when the input image iswritten in the frame memory and a method of deforming the image when theimage is read from the frame memory. Of these, the method of deformingthe image when the input image is written in the frame memory isdescribed in Japanese Patent No. 3394551 (hereinafter, Literature 1).Literature 1 discloses a method of executing an image deformationprocess by writing pixels of an input image in corresponding addresseson the frame memory. Meanwhile, the method of deforming the image whenthe image is read from the frame memory is described in Japanese PatentLaid-Open No. 2011-199575 (hereinafter, Literature 2).

In general, a higher resolution, a higher frame rate, and the like aredemanded in a video processing apparatus. To meet the demand in theimage deformation process, the throughput of the frame memory needs tobe improved to improve the processing capacity. To improve thethroughput of the frame memory, a type of a memory called a cache memoryis usually included in a section of interface with the frame memory.When the frame memory and the cache memory are compared, the framememory is a low-speed and high-capacity memory, while the cache memoryis a high-speed and low-capacity memory. In the configuration ofdeforming the image when the input image is written in the frame memory,the cache memory is arranged before writing in the frame memory. On theother hand, in the configuration of deforming the image when the imageis read from the frame memory, the cache memory is arranged afterreading from the frame memory. The arrangement of the cache memory inthis way integrates data in the cache memory and reduces the number ofdata accesses to the frame memory in the image deformation process. As aresult, overheads of data accesses can be reduced, resulting in animprovement in the throughput of the frame memory.

Although Literature 1 is a method of deforming the image when the inputimage is written in the frame memory, the cache memory is not included.On the other hand, Literature 2 is a method of deforming the image whenthe image is read from the frame memory, and the cache memory isincluded.

In the image deformation process, deformable shapes are limited due torestrictions on the device configuration. For example, deformations withsmall deformation magnifications are limited in the configuration withthe cache memory in the method of deforming the image when the image isread from the frame memory as in Literature 2. A simple example ofreducing an image to 1/N in a transverse direction will be considered.In this case, if the output rate is constant, reading from the framememory needs to be performed at a speed of N times the output rate onaverage. More specifically, the cache memory arranged on the readingside of the frame memory needs to read image data from the frame memoryat a throughput of N times the output rate. If the image data reading ofthe cache memory does not reach N times, the output rate to be realizedin the cache memory cannot be realized, and the deformed image isruined.

The phenomenon is an example, and there are actually various deformationrestrictions due to restrictions on the cache memory. Therefore, theimage deformation apparatus needs to include a method of determiningwhether the deformation shape designated by the user satisfies variousdeformation restrictions to allow deformation and notifying the user ofthe determination. If the method of determining whether the deformationis possible is not included, the deformation shape designated by theuser cannot be prevented when the deformation shape does not satisfy thedeformation restrictions, and a ruined deformed image is output.

In relation to the cache memory and the deformation restrictions, thereare no deformation restrictions derived from the cache memory in themethod of Literature 1, because the method does not include a cachememory. However, unlike the case in which the cache memory is used, theprocessing capacity cannot be improved. On the other hand, the method ofLiterature 2 includes a cache memory, but does not include means fordetermining the deformation restrictions. Therefore, deformation shapesthat are not allowed to form cannot be prevented.

SUMMARY OF THE INVENTION

According to an embodiment of the present invention, provided are animage processing apparatus and an image processing method that canprevent output of a ruined deformed image, while improving theprocessing capacity by holding a cache memory.

According to one aspect of the present invention, there is provided animage processing apparatus comprising: an obtaining unit configured toobtain image data; an input unit configured to input a parameter relatedto a deformation process; a processing unit configured to generate imagedata for projection by applying the deformation process to the obtainedimage data based on the parameter input by the input unit; and a controlunit configured to control the processing unit not to perform thedeformation process if the control unit determines that a magnificationrelated to the deformation process for the obtained image data based onthe parameter input by the input unit is out of a predetermined range.

According to another aspect of the present invention, there is providedan image processing method comprising: an obtaining step of obtainingimage data; an input step of inputting a parameter related to adeformation process; a processing step of generating image data forprojection by applying the deformation process to the obtained imagedata based on the parameter input in the input step; and a control stepof controlling the processing step not to perform the deformationprocess if it is determined that a magnification related to thedeformation process for the obtained image data based on the parameterinput in the input step is out of a predetermined range.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments (with reference to theattached drawings).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a first embodiment.

FIGS. 2A and 2B are diagrams showing relationships between coordinatesbefore deformation and coordinates after deformation.

FIGS. 3A to 3C are diagrams explaining inclination determinationconditions.

FIGS. 4A and 4B are diagrams explaining a determination process in avertical direction.

FIGS. 5A and 5B are diagrams explaining a determination process in ahorizontal direction.

FIG. 6 is a diagram explaining a configuration of information.

FIGS. 7A and 7B are flow charts showing a deformation determinationprocess.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, an example of a preferred embodiment of the presentinvention will be described with reference to the attached drawings. Thepresent embodiment provides a configuration of determining availabilityof deformation in, for example, an image processing apparatus(hereinafter, “image deformation apparatus”) that deforms an image in aprojector. The image deformation apparatus of the present embodimentdetermines whether deformation to a deformation shape designated by auser is possible in an image deformation process known as a keystonecorrection function (or a trapezoid correction function) of theprojector.

FIG. 1 shows a configuration example of the image formation apparatusaccording to the embodiment. FIGS. 2A and 2B are diagrams explaining anexample of a deformation process executed in the present embodiment.FIG. 6 is a diagram showing a configuration of information used in thepresent embodiment. FIGS. 2A, 2B, and 6 are referenced as necessary inthe description of the embodiment of FIG. 1. Other FIGS. 3A to 3C, 4A,4B, 5A, 5B, 7A, and 7B are diagrams for explaining a deformationdetermination unit 107 of the embodiment of FIG. 1 in more detail andare referenced to explain the deformation determination unit 107 in moredetail in the description of the present embodiment.

An image deformation apparatus 100 shown in FIG. 1 receives an inputimage 101, an input synchronizing signal 103, and an outputsynchronizing signal 104 and outputs a deformed output image 102. FIG.2B shows an example that an input image 200 shown in FIG. 2A is deformedto an output image 205. The images are expressed based on a relationshipbetween coordinates before deformation 0 (201) to coordinates beforedeformation 3 (204) and coordinates after deformation 0 (206) tocoordinates after deformation 3 (209).

In the image deformation apparatus 100, an image writing unit 105receives the input image 101 and the input synchronizing signal 103 andoutputs input image information 114 and the input image 101. The inputimage information 114 includes the coordinates before deformation 0 to 3as shown in input image information 600 of FIG. 6. Meanwhile, the inputsynchronizing signal 103 includes a horizontal synchronizing signal, ahorizontal data effective signal, a vertical synchronizing signal, and avertical data effective signal shown in an input synchronizing signal602 of FIG. 6. These are general signals for indicating timing in thehorizontal direction and the vertical direction in a video signal. Thehorizontal synchronizing signal indicates a period allowed in thehorizontal direction of the video, and the horizontal data effectivesignal indicates a period displaying the video in the period allowed inthe horizontal direction. Meanwhile, the relationship between thevertical synchronizing signal and the vertical data signal is similar tothe relationship between the horizontal synchronizing signal and thehorizontal data effective signal.

Returning to FIG. 1 to continue the description, the image writing unit105 receives the input image 101 and calculates the input imageinformation 114 from the image size of the input image 101 to output theinput image information 114. The image writing unit 105 sequentiallysends out the input image 101 according to the input synchronizingsignal 103. A deformation input unit 106 and a deformation availabilitynotification unit 112 are units for the user to perform deformationsetting. The deformation input unit 106 receives a deformationinstruction of the user and outputs deformation information indicatinghow to deform the input image (hereinafter, called “deformation settinginformation 115”). For example, the user inputs the coordinates afterdeformation 0 to 3 as shown in FIG. 2B through the deformation inputunit 106 to instruct the deformation. The deformation settinginformation 115 includes the coordinates after deformation 0 to 3 asshown in deformation setting information 601 of FIG. 6. Meanwhile, thedeformation availability notification unit 112 receives, from thedeformation determination unit 107, deformation availability information117, which is information indicating whether the deformation to theshape designated by the deformation setting information 115 is possible,and notifies the user whether the designated deformation can beperformed. Based on the deformation input unit 106 and the deformationavailability notification unit 112, the user can set an intendeddeformation shape and receive a notification of whether the deformationto the deformation shape is possible. A deformation control unit 108 mayperform control to prohibit or permit an image deformation unit 109 toexecute a deformation process according to the determination result ofthe availability of the deformation process by the deformationdetermination unit 107.

The deformation control unit 108 receives the input image information114, the deformation setting information 115, and the deformationavailability information 117 and outputs the deformation settinginformation 115 input when the deformation availability information 117indicates that the deformation is possible. The deformation control unit108 outputs the deformation setting information 115 based on thedeformation availability information 117 to control the imagedeformation apparatus 100 to perform deformation setting of onlydeformable shapes.

The image deformation unit 109 receives the input image 101 from theimage writing unit 105 and the deformation setting information 115 fromthe deformation input unit 106 to deform the input image 101 and outputsthe deformed pixel data (hereinafter, “deformed pixel image data 119”).The image deformation unit 109 obtains the deformed pixel image data 119by, for example, projective transformation of the input image 101. Thedeformed pixel image data 119 is pixel-by-pixel image data foroutputting, to coordinates after deformation, the input image 101 inputaccording to the input synchronizing signal 103.

The cache memory 110 receives the deformed pixel image data 119 andoutputs deformed tile image data 120 integrating the data in tiles. Thecache memory 110 also outputs, to the deformation determination unit107, cache configuration information 116 indicating the configuration ofthe cache memory 110.

The cache configuration information 116 includes the number of pixels inthe horizontal direction, the number of pixels in the verticaldirection, and the number of cache tiles in the vertical direction asindicated by cache configuration information 604 of FIG. 6. The numberof pixels in the horizontal direction and the number of pixels in thevertical direction are information indicating the configuration of thecache, indicating the numbers of pixels in the horizontal direction andthe vertical direction that can be received by one cache tile thatreceives the deformed pixel image data 119. The number of cache tiles inthe vertical direction indicates the number of cache tiles in thevertical direction included in the cache memory 110. The cache memory110 temporarily holds, in the internal cache tiles, the deformed pixelimage data 119 input pixel by pixel and outputs the deformed tile imagedata 120 tile by tile in order from the cache tiles that are filled withpixels.

The cache configuration information 116 also includes a verticaldirection output rate used in a vertical direction determination processand output time per pixel used in a horizontal direction determinationprocess described later. The vertical direction output rate indicatesthe number of lines that can be output for one input line in the cachememory 110. The output time per pixel is a pixel output rate (outputtime per pixel) of the cache memory 110. The vertical direction outputrate and the pixel output rate are used in the determination process inthe vertical direction and the determination process in the horizontaldirection described later.

The frame memory 111 receives the deformed tile image data 120 andoutputs deformed line image data 121 in order from a line that is filledwith data of one line and that can be output.

The image reading unit 113 receives the deformed line image data 121 andthe output synchronizing signal 104 and outputs the output image 102according to timing designated by the output synchronizing signal 104.The output synchronizing signal 104 includes a horizontal synchronizingsignal, a horizontal data effective signal, a vertical synchronizingsignal, and a vertical data effective signal as indicated by an outputsynchronizing signal 603 of FIG. 6. The signals are the same as in theinput synchronizing signal 602.

The deformation determination unit 107 is configured to determinewhether the deformation based on the deformation information designatedby the user in the image deformation apparatus 100 can be performed.Roughly, the deformation determination unit 107 executes a process ofreceiving the input image information 114, the deformation settinginformation 115, and the cache configuration information 116 todetermine whether the deformation shape of the deformation settinginformation 115 can be realized based on the information. Thedeformation availability information 117 is output.

Details of the deformation determination unit 107 will be described indetail with reference to FIGS. 3A to 3C, 4A, 4B, 5A, 5B, 7A, and 7B.FIGS. 7A and 7B are flow charts explaining a deformation determinationprocess by the deformation determination unit 107. The process of FIGS.7A and 7B roughly includes three determination processes (S701 to S704,S705 to S709, and S710 to S714), and FIGS. 3A to 3C, 4A, 4B, 5A, and 5Bshow more detailed description of the individual processes. The processof FIGS. 7A and 7B starts from step S700 (start) and moves to step S701(inclination determination process).

Details of the process of steps S701 to S704 (inclination determinationprocess) will be described with reference to FIGS. 3A to 3C. In stepS701 (inclination determination process), the deformation determinationunit 107 determines whether the input of pixels determined by thedeformation shape (deformed pixel image data 119 from the imagedeformation unit 109) falls within an allowable inclination of the cachememory 110 (whether restrictions are satisfied). More specifically,whether the cache memory 110 can hold the entire inclined line obtainedby deforming one line of the input image is determined. FIG. 3Billustrates an example of deforming an input image 300 shown in FIG. 3Aat a small deformation angle, and FIG. 3C illustrates an example ofdeforming the input image 300 shown in FIG. 3A at a large deformationangle. In the following description, the restrictions are satisfied inthe example with the small deformation angle illustrated in FIG. 3B, andthe restrictions are violated in the example with the large deformationangle illustrated in FIG. 3C.

The example with the small deformation angle illustrated in FIG. 3B willbe described first. When an input order 301 of input image is input inthe input image 300, pixel data is input to a lattice 303 of the cachememory as in a line 302 indicating the input order of deformed pixeldata. The lattice 303 of the cache memory indicates regions divided by aplurality of cache tiles. For example, the cache tiles used when a linesuch as the line 302 indicating the input order of the deformed pixeldata is input are cache tile groups 304 indicated by hatching. Thenumber of tiles of the cache memory in the vertical direction is a valuedetermined at the design, and the number of tiles of the cache memory inthe vertical direction is “2” in the description of this example. Cachetiles that can store pixels of one line are included in the horizontaldirection. In this case, the number of cache tile groups 304 that areindicated by hatching and that are consumed when one line is input istwo in the vertical direction at the maximum. In the case of FIG. 3B,the number of tiles of the cache memory in the vertical direction fallswithin “two”, and the deformation determination unit 107 determines thatthe deformation restrictions are satisfied in relation to theinclination determination process.

On the other hand, an inclination of a line 305 indicating the inputorder of the deformed pixel data is large in the example with the largedeformation angle as in the case of FIG. 3C. Therefore, the number ofcache tile groups 307 (hatched regions) consumed when one line is inputis three in the vertical direction at the maximum. Therefore, there arepixels 308 that cannot be held in the cache memory. In this case, pixelsat the positions of the pixels 308 that cannot be held in the cache tilegroups 307 cannot be held in the cache memory 110, and a lack of pixelis generated in the image after deformation. Therefore, the deformationdetermination unit 107 determines that the deformation restrictions arenot satisfied in the example of FIG. 3C.

The processing flow will be described with reference again to FIGS. 7Aand 7B. In step S701 (inclination determination process), thedetermination process is applied to an upper side and a lower side afterdeformation. This is because the inclination in the shape afterdeformation is the maximum at one of the upper side and the lower side,and the process can be speeded up by applying the process only to theupper side and the lower side. In step S702, the deformationdetermination unit 107 calculates the inclination of each side. In stepS703, the deformation determination unit 107 determines whether theabsolute value of the inclination of the side obtained in step S702falls within the allowable inclination of the cache memory.Specifically, the following determination is performed.(Ydst0−Ydst1)/(Xdst0−Xdst1)<cacheHeight/cacheWidth*(cacheNum−1)(Ydst3−Ydst2)/(Xdst3−Xdst2)<cacheHeight/cacheWidth*(cacheNum−1)

Variables: meaning

(Xdst0 to 3, Ydst0 to 3): coordinates after deformation 0 to 3 of thedeformation setting information 601

cacheWidth: the number of pixels in the horizontal direction of thecache configuration information 604

cacheHeight: the number of pixels in the vertical direction of the cacheconfiguration information 604

cacheNum: the number of tiles in the vertical direction of the cacheconfiguration information 604.

If one of the determinations is violated in step S703, the process movesto step S716. The deformation determination unit 107 outputs deformationdisapproval as deformation availability information and moves to stepS717 to end the process. On the other hand, if none of thedeterminations is violated, the process moves to step S705(determination process in the vertical direction). The deformationavailability notification unit 112 can project an image related to theavailability of deformation when the deformation availabilityinformation is obtained from the deformation determination unit 107. Forexample, when the user sets the degree of deformation while referencingan interface image provided by the deformation input unit 106, thedisplay method of the interface image can be switched between the casethat further deformation is possible and the case that furtherdeformation is impossible.

In this way, whether the inclination after deformation corresponding tothe input of one line of the input image falls within the allowableinclination calculated from the configuration information of the cachememory 110 is determined in the inclination determination process. Inthe present embodiment, the cache tiles can be handled in step shapes asshown in FIGS. 3B and 3C to improve the tolerance to the inclination bya small cache memory capacity. Obviously, the cache tiles may be fixedand arranged in band shapes. In that case, the allowable inclination ofthe line after deformation is, for example, “cacheHeight×the number oftiles in the vertical direction/the number of pixels in the main scandirection”.

Details of the process of steps S705 to S709 (determination process inthe vertical direction) will be described with reference to FIGS. 4A and4B. In step S705 (determination process in the vertical direction),whether the input rate of the pixels in the vertical directiondetermined by the deformation shape falls within the allowable outputrate of the cache memory 110 is determined. More specifically, thedeformation determination unit 107 determines the output speed of thepixel data of the cache memory 110 necessary to output the image afterdeformation. The deformation determination unit 107 determines whetherthe determined output speed is in a range of the executable output speedof the cache memory 110. The determination process in the verticaldirection will be described with reference to FIGS. 4A and 4B showing anexample when an input image 400 is deformed to an output image 403. A Ydirection magnification ratio (ratio based on one line of the imagebefore deformation and the number of lines of the image afterdeformation corresponding to the one line) corresponding to left andright sides (404 and 405) of the output image 403 is continuouslychanged. If the image after deformation (output image 403) includes aline in which the Y direction magnification ratio exceeds a threshold,the deformation determination unit 107 determines that the deformationprocess is impossible (S716). A point 406 in which the Y directionmagnification ratio exceeds the threshold and the number of lines 407 inwhich the Y direction magnification ratio exceeds the threshold aredetermined in FIG. 4B. The threshold is a value indicating the outputperformance of the cache memory 110, and for example, the threshold is 2if pixel data of two lines can be output in a period that pixel data ofone line is input from the outside. In this case, the vertical directionoutput rate, which is the number of output lines relative to one inputline, of the cache memory 110 is 2.

Parts in the input image 400, which correspond to the point 406 in whichthe Y direction magnification ratio after deformation exceeds thethreshold in the determined output image and correspond to the number oflines 407 in which the Y direction magnification ratio after deformationexceeds the threshold in the output image, are obtained in the inputimage. The example of FIGS. 4A and 4B indicates the number of lines 402in which the Y direction magnification ratio after deformation exceedsthe threshold and a point 401 in which the Y direction magnificationratio after deformation exceeds the threshold in the input image 400.The check targets in the determination process are a check target 404 ofa vertical direction determination condition and a check target 405 of avertical direction determination condition 405 that are the left andright sides after deformation. This is because the Y directionmagnification ratio in the shape after deformation is the maximum at oneof the left and right sides after deformation, and the process can bespeeded up by applying the process only to the left side and the rightside.

If there are pixels in which the Y direction magnification ratio exceedsthe threshold at the upper end of the side to be checked in FIGS. 4A and4B, the number of lines of the output image 403 up to a point in whichthe Y direction magnification ratio is equal to or smaller than thethreshold and the number of lines of a corresponding section of theinput image 400 are used. Therefore, in more general expression, thedetermination process in the vertical direction is executed by using thenumber of lines of a section where a line in which the Y directionmagnification ratio exceeds the threshold continues in the output imageand the number of lines of a corresponding section in the input image.

The process flow will be described with reference again to FIGS. 7A and7B. In step S705 (determination process in the vertical direction), thedeformation determination unit 107 applies a process to the left sideand the right side after deformation. In step S706, the deformationdetermination unit 107 calculates the number of lines 402 in which the Ydirection magnification ratio after deformation exceeds the threshold inthe input image. In step S707, the deformation determination unit 107calculates the number of lines 407 in which the Y directionmagnification ratio after deformation exceeds the threshold in theoutput image. In step S708, the deformation determination unit 107determines whether a vertical input rate of the cache falls within avertical output rate allowable value. Specifically, a determinationprocess using the following conditional expression is executed. In thedetermination process, if the number of lines increases when the imagedeformation unit 109 deforms the input image 101 according to thedeformation setting information 115, whether the section where thenumber of lines has increased can be output in an output period of thenumber of lines at the corresponding section of the input image isdetermined. Therefore, there is a violation when the followingconditional expression (“the number of pixels in the verticaldirection×the number of tiles in the vertical direction/the number ofpixels in the horizontal direction”) is satisfied. The fact that theexecution of the deformation process is impossible is notified, and/orthe execution of the deformation process is prohibited.dstOverLine>srcOverLine*outLineLimit

Variables: meaning

outLineLimit: vertical direction output rate of the cache memory 110

srcOverLine: the number of lines 402 of the section corresponding to thesection where the Y direction magnification ratio after deformationexceeds the threshold in the input image

dstOverLine: the number of lines 407 of the section where the Ydirection magnification ratio after deformation exceeds the threshold inthe output image.

If the determination in step S708 is violated, the process moves to stepS716, and deformation disapproval is output as deformation availabilityinformation. The process moves to step S717, and the process ends. Onthe other hand, if none of the determinations is violated, the processmoves to step S710 (determination process in the horizontal direction).

Steps S710 to S714 (determination process in the horizontal direction)will be described with reference to FIGS. 5A and 5B. If themagnification ratio in the horizontal direction after deformationexceeds 1.0, two or more pixels may be output for input of one pixel.Therefore, in such a case, the output time may be large with respect tothe input time per line. The data may not be completely output in thecache memory 110, and the data may overflow. In the determinationprocess in the horizontal direction, whether the input per line of thecache memory 110 falls within a period allowed for one line isdetermined.

FIG. 5B illustrates an example that a point 504 in which an X directionmagnification ratio after deformation exceeds a threshold is obtained inthe output image, and based on this, the number of pixels 505 in whichthe X direction magnification ratio after deformation exceeds athreshold is obtained in the output image. Meanwhile, a point 501 inwhich the X direction magnification ratio after deformation exceeds thethreshold in the input image and the number of pixels 502 in which the Xdirection magnification ratio after deformation exceeds the threshold inthe input image are illustrated as parts corresponding to the point 504and the number of pixels 505 in an input image 500. More specifically,when the number of pixels 502 in which the X direction magnificationratio after deformation exceeds the threshold is input in the inputimage, pixels equivalent to the number of pixels 505 in which the Xdirection magnification ratio after deformation exceeds the thresholdare output in the output image. An object of the process is to take theincrement into account to determine whether the time required for theoutput falls within one horizontal synchronization period.

If there are pixels in which the X direction magnification ratio exceedsthe threshold on the left side of the line to be checked in FIG. 5B, thenumber of pixels of the output image 503 until the X directionmagnification ratio in the main scan direction (from left to right inFIG. 5B) becomes equal to or smaller than the threshold and the numberof pixels at the corresponding position of the input image 500 are used.Therefore, in more general expression, the number of pixels of thesection where the pixels in which the X direction magnification ratioexceeds the threshold continues in the main scan direction in the outputimage and the number of pixels of the corresponding section in the inputimage are used to execute the determination process in the horizontaldirection.

The processing flow will be described with reference again to FIGS. 7Aand 7B. In step S710 (determination process in the horizontaldirection), the process is applied to the upper side and the lower sideafter deformation. This is because the magnification ratio in the shapeafter deformation is the maximum on one of the upper side and the lowerside. In step S711, the number of pixels in which the X directionmagnification ratio after deformation exceeds the threshold in the inputimage is calculated in the input image. In step S712, the number ofpixels in which the X direction magnification ratio after deformationexceeds the threshold is calculated in the output image. In step S713,it is determined whether the horizontal output rate of the cache memory110 falls within one horizontal synchronizing signal period. In thepresent embodiment, when the number of pixels of one line increases dueto the deformation of the input image 101 by the image deformation unit109 based on the deformation setting information 115, whether the pixelsincluding the increased pixels can be output in the horizontalsynchronizing signal period of one line is determined. Morespecifically, whether the pixels of the increased number of pixels canbe output within a period excluding an effective signal period ofhorizontal data from the horizontal synchronizing signal period of oneline of the input image 101 is determined. The time required to outputthe increment of pixels can be calculated by using the pixel output rate(output time per pixel) of the cache memory 110. Therefore, thefollowing determination process is specifically executed.[dstOverPixel−srcOverPixel]×RatePerPixel<Htotal−HDataEnable

Variables: meaning

Htotal: horizontal synchronizing signal period of the inputsynchronizing signal 602.

HDataEnable: horizontal data effective signal period of the inputsynchronizing signal 602

srcOverPixel: the number of pixels 502 of the section corresponding tothe section where the X direction magnification ratio after deformationexceeds the threshold in the input image

dstOverPixel: the number of pixels 505 of the section where the Xdirection magnification ratio after deformation exceeds the threshold inthe output image

RatePerPixel: pixel output rate (output time per pixel) of the cachememory 110

If one of the determinations in step S713 is violated, the process movesto step S716, and deformation disapproval is output as deformationavailability information. The process moves to step S717, and theprocess ends. On the other hand, if none of the determinations isviolated, the process moves to step S715, and deformation approval isoutput as deformation availability information. The process moves tostep S717, and the process ends.

Through the process shown in FIGS. 7A and 7B, the deformationdetermination unit 107 calculates the deformation availabilityinformation 117, and the image deformation apparatus 100 controls thedeformation based on the deformation availability information 117. As aresult, the image deformation apparatus of the present embodiment caninclude the determination unit of deformation restrictions to preventthe output of a ruined deformed image, while including the cache memoryto improve the processing capacity. Although the configuration ofdeforming the image when the input image is written in the frame memory111 has been described in the embodiment, the embodiment can also beapplied to the configuration of deforming the image when the image isread from the frame memory 111.

A flow of data in this case will be specifically described. The inputimage 101 is input from the image writing unit 105 to the frame memory111 and is output as the output image 102 from the image reading unit113, sequentially through the cache memory 110 and the image deformationunit 109. The image reading unit 113 provides the image deformation unit109 with coordinates in a scan order instructed by the outputsynchronizing signal 104 (for example, display scan order of display).The image deformation unit 109 calculates coordinates before deformationrelative to the provided coordinates and makes a request to the cachememory 110. If the cache memory 110 holds the deformed pixel image data119 of the requested coordinates before deformation, the cache memory110 outputs the data to the image deformation unit 109. On the otherhand, if the cache memory 110 does not hold the deformed pixel imagedata 119, the cache memory 110 requests the frame memory 111 for thedeformed tile image data 120 including the deformed pixel image data119. The cache memory 110 temporarily holds the data in the cache andoutputs the data to the image deformation unit 109. In this way, theamount of deformation from the input image 101 to the output image 102and the capacity of the cache memory are compared as described above inthe configuration in which the image is deformed when the image is readfrom the frame memory 111.

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions recorded on a storage medium (e.g., non-transitorycomputer-readable storage medium) to perform the functions of one ormore of the above-described embodiment(s) of the present invention, andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s). The computer may comprise one or more ofa central processing unit (CPU), micro processing unit (MPU), or othercircuitry, and may include a network of separate computers or separatecomputer processors. The computer executable instructions may beprovided to the computer, for example, from a network or the storagemedium. The storage medium may include, for example, one or more of ahard disk, a random-access memory (RAM), a read only memory (ROM), astorage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2013-153832, filed Jul. 24, 2013, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image processing apparatus comprising: anacquiring unit configured to acquire image data; an input unitconfigured to input a parameter for deformation processing on the imagedata acquired by the acquiring unit; a determination unit configured todetermine, using inclination information of deformed image dataspecified based on the parameter for the deformation processing input bythe input unit, whether the deformation processing on the image dataaccording to the parameter input by the input unit is not to beperformed; and a control unit configured to control, in a case where thedetermination unit determines that the deformation processing on theimage data according to the parameter input by the input unit is not tobe performed, not to perform the deformation processing based on theparameter input by the input unit.
 2. The image processing apparatusaccording to claim 1, further comprising a processing unit configured toperform the deformation processing on the image data acquired by theacquiring unit according to the parameter input by the input unit in acase where the determination unit does not determine that thedeformation processing on the image data according to the parameter isnot to be performed.
 3. The image processing apparatus according toclaim 1, wherein the determination unit is configured to determine,based on vertex coordinates of the deformed image data specified basedon the parameter input by the input unit, whether the deformationprocessing on the image data according to the parameter is not to beperformed.
 4. The image processing apparatus according to claim 1,wherein the determination unit is configured to determine, using atleast one of (a) first inclination information which is specified by afirst vertex coordinate of the deformed image data and a second vertexcoordinate of the deformed image data and (b) second inclinationinformation which is specified by a third vertex coordinate of thedeformed image data and a fourth vertex coordinate of the deformed imagedata, whether the deformation processing on the image data according tothe parameter is not to be performed.
 5. The image processing apparatusaccording to claim 1, wherein the determination unit is configured todetermine, using both of (a) first inclination information which isspecified by a first vertex coordinate of the deformed image data and asecond vertex coordinate of the deformed image data and (b) secondinclination information which is specified by a third vertex coordinateof the deformed image data and a fourth vertex coordinate of thedeformed image data, whether the deformation processing on the imagedata according to the parameter is not to be performed.
 6. The imageprocessing apparatus according to claim 4, wherein the determinationunit is configured to determine, in a case where at least one of a firstinclination represented by the first inclination information and asecond inclination represented by the second inclination information islarger than a predetermined inclination, the deformation processing onthe image data according to the parameter is not to be performed.
 7. Theimage processing apparatus according to claim 1, wherein thedetermination unit is configured to determine, using at least one of aninclination of first lines of the deformed image data specified based onthe parameter and an inclination of second lines of the deformed imagedata specified based on the parameter, whether the deformationprocessing on the image data according to the parameter is not to beperformed.
 8. The image processing apparatus according to claim 1, thedetermination unit is configured to determine, in a case where at leastone of inclination of a first line of the deformed image data and asecond line of the deformed image data is larger than a predeterminedinclination, the deformation processing on the image data according tothe parameter is not to be performed.
 9. The image processing apparatusaccording to claim 7, wherein the first line corresponds to a start lineof the deformed image data and the second line corresponds to a lastline of the deformed image data.
 10. The image processing apparatusaccording to claim 6, wherein the predetermined inclination isdetermined based on read out speed of data from a cache memory used forthe deformation processing.
 11. The image processing apparatus accordingto claim 1, further comprising a projection unit configured to projectan image corresponding to a processed image data obtained based on thedeformation processing on the image data acquired by the acquiring unit.12. The image processing apparatus according to claim 11, wherein theprojection unit is configured to project, according to a determinationresult by the determination unit, an image representing that thedeformation processing based on the parameter input by the input unit isnot performed.
 13. The image processing apparatus according to claim 1,wherein the deformation processing is keystone processing.
 14. An imageprocessing method comprising: acquiring image data; inputting aparameter for deformation processing on the acquired image data;determining, using inclination information of deformed image dataspecified based on the input parameter for the deformation processing,whether the deformation processing on the image data according to theinput parameter is not to be performed; and controlling, in a case whereit is determined that the deformation processing on the image dataaccording to the input parameter is not to be performed, not to performthe deformation processing based on the input parameter.
 15. The imageprocessing method according to claim 14, wherein, in the determining, itis determined, based on vertex coordinates of the deformed image dataspecified based on the input parameter, whether the deformationprocessing on the image data according to the input parameter is not tobe performed.
 16. The image processing method according to claim 14,wherein, in the determining, it is determined, using at least one of (a)first inclination information which is specified by a first vertexcoordinate of the deformed image data and a second vertex coordinate ofthe deformed image data and (b) second inclination information which isspecified by a third vertex coordinate of the deformed image data and afourth vertex coordinate of the deformed image data, whether thedeformation processing on the image data according to the inputparameter is not to be performed.
 17. A non-transitory storage mediumstoring a program for causing a computer to perform an image processingmethod comprising: acquiring image data; inputting a parameter fordeformation processing on the acquired image data; determining, usinginclination information of deformed image data specified based on theinput parameter for the deformation processing, whether the deformationprocessing on the image data according to the input parameter is not tobe performed; and controlling, in a case where it is determined that thedeformation processing on the image data according to the inputparameter is not to be performed, not to perform the deformationprocessing based on the input parameter.
 18. The non-transitory storagemedium according to claim 17, wherein, in the determining, it isdetermined, based on vertex coordinates of the deformed image dataspecified based on the input parameter, whether the deformationprocessing on the image data according to the input parameter is not tobe performed.
 19. The non-transitory storage medium according to claim17, wherein, in the determining, it is determined, using at least one of(a) first inclination information which is specified by a first vertexcoordinate of the deformed image data and a second vertex coordinate ofthe deformed image data and (b) second inclination information which isspecified by a third vertex coordinate of the deformed image data and afourth vertex coordinate of the deformed image data, whether thedeformation processing on the image data according to the inputparameter is not to be performed.